/*
 * Powered By xTOOLs
 * Dev by tao.li8@pactera.com
 * Copyright ©2009-2018 pactera.com All rights reserved.
 * Generated at 2020-7-20 10:33:35
 */

package com.pactera.jep.service.yapin.eval.model;

import com.pactera.jep.web.entity.Result;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import org.hibernate.validator.constraints.Length;
import javax.validation.constraints.Digits;

import javax.persistence.Temporal;
import javax.persistence.TemporalType;
import javax.persistence.Column;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.Table;
import javax.persistence.Entity;
import com.fasterxml.jackson.annotation.JsonFormat;
import java.util.*;
import java.math.BigDecimal;

import com.pactera.jep.commons.DateUtils;
import com.pactera.jep.entity.PO;

/**
 * 估值流程押品明细信息表实体类
 * @Author YourName
 * @Date 2020-7-20 10:33:35
 */
@ApiModel(value = "EvalProcessCltDetails" , description = "估值流程押品明细信息表")
@Entity
@Table(name = "ap_val_proess_clt_details")
public class EvalProcessCltDetails implements PO {

    @ApiModelProperty("评估流程明细信息ID")
    @Id
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    @Length(max = 32, message = "评估流程明细信息ID长度最多32位")
    @Column(name = "EVAL_PRO_DETAILS_ID")
    private String evalProDetailsId;

    @ApiModelProperty("评估流程信息ID")
    @Length(max = 32, message = "评估流程信息ID长度最多32位")
    @Column(name = "EVAL_PROCESS_ID")
    private String evalProcessId;

    @ApiModelProperty("流程编号")
    @Length(max = 40, message = "流程编号长度最多40位")
    @Column(name = "EVAL_PROCESS_NO")
    private String evalProcessNo;

    @ApiModelProperty("押品编号")
    @Length(max = 40, message = "押品编号长度最多40位")
    @Column(name = "CLT_NO")
    private String cltNo;

    @ApiModelProperty("押品类型")
    @Length(max = 20, message = "押品类型长度最多20位")
    @Column(name = "CLT_TP_CD")
    private String cltTpCd;

    @ApiModelProperty("外评机构编号")
    @Length(max = 40, message = "外评机构编号长度最多40位")
    @Column(name = "EXTER_EVAL_ORG_NO")
    private String exterEvalOrgNo;

    @ApiModelProperty("外部评估方法")
    @Length(max = 20, message = "外部评估方法长度最多20位")
    @Column(name = "EXTER_EVAL_MTD_CD")
    private String exterEvalMtdCd;

    @ApiModelProperty("外部评估价值（原币）")
    @Digits(integer = 18, fraction = 2, message = "外部评估价值（原币）不能超过20位")
    @Column(name = "EXTER_EVAL_VAL")
    private BigDecimal exterEvalVal;

    @ApiModelProperty("外部评估币种")
    @Length(max = 20, message = "外部评估币种长度最多20位")
    @Column(name = "EXTER_CCY_CD")
    private String exterCcyCd;

    @ApiModelProperty("外部评估日期")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    @Column(name = "EXTER_EVAL_DT")
    private Date exterEvalDt;

    @ApiModelProperty("外评评估到期日期")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    @Column(name = "EXTER_EVAL_MAT_DT")
    private Date exterEvalMatDt;

    @ApiModelProperty("日常考评分总分")
    @Digits(integer = 18, fraction = 2, message = "日常考评分总分不能超过20位")
    @Column(name = "DAILY_EVAL_SCORE")
    private BigDecimal dailyEvalScore;

    @ApiModelProperty("日常考评意见")
    @Length(max = 500, message = "日常考评意见长度最多500位")
    @Column(name = "DAILY_EVAL_ADV")
    private String dailyEvalAdv;

    @ApiModelProperty("内评评估方法")
    @Length(max = 20, message = "内评评估方法长度最多20位")
    @Column(name = "INNER_EVAL_MTD_CD")
    private String innerEvalMtdCd;

    @ApiModelProperty("内评评估价值")
    @Digits(integer = 18, fraction = 2, message = "内评评估价值不能超过20位")
    @Column(name = "INNER_EVAL_VAL")
    private BigDecimal innerEvalVal;

    @ApiModelProperty("内评评估币种")
    @Length(max = 20, message = "内评评估币种长度最多20位")
    @Column(name = "INNER_CCY_CD")
    private String innerCcyCd;

    @ApiModelProperty("内评评估日期")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    @Column(name = "INNER_EVAL_DT")
    private Date innerEvalDt;

    @ApiModelProperty("内评评估到期日")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    @Column(name = "INNER_EVAL_END_DT")
    private Date innerEvalEndDt;

    @ApiModelProperty("测算方式")
    @Length(max = 20, message = "测算方式长度最多20位")
    @Column(name = "EVAL_TP_CD")
    private String evalTpCd;

    @ApiModelProperty("我行确认价值")
    @Digits(integer = 18, fraction = 2, message = "我行确认价值不能超过20位")
    @Column(name = "ASSESSED_VAL")
    private BigDecimal assessedVal;

    @ApiModelProperty("我行确认价值币种")
    @Length(max = 20, message = "我行确认价值币种长度最多20位")
    @Column(name = "ASSESSED_CCY_CD")
    private String assessedCcyCd;

    @ApiModelProperty("我行确认价值确定方法")
    @Length(max = 20, message = "我行确认价值确定方法长度最多20位")
    @Column(name = "ASSESSED_EVAL_MTD_CD")
    private String assessedEvalMtdCd;

    @ApiModelProperty("我行确认价值日期")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    @Column(name = "ASSESSED_DT")
    private Date assessedDt;

    @ApiModelProperty("系统创建时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    @Column(name = "SYS_CREATE_TIME")
    private Date sysCreateTime;

    @ApiModelProperty("系统更新时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    @Column(name = "SYS_UPDATE_TIME")
    private Date sysUpdateTime;

    @ApiModelProperty("是否首次评估")
    @Length(max = 20, message = "是否首次评估长度最多20位")
    @Column(name = "IS_FIRST_EVAL")
    private String isFirstEval;

    @ApiModelProperty("预计评估价值（原币）")
    @Digits(integer = 18, fraction = 2, message = "预计评估价值（原币）不能超过20位")
    @Column(name = "PRE_EVAL_AMT")
    private BigDecimal preEvalAmt;

    @ApiModelProperty("价值认定理由")
    @Length(max = 500, message = "价值认定理由长度最多500位")
    @Column(name = "AMT_CONF_REASON")
    private String amtConfReason;

    @ApiModelProperty("是否重复抵质押")
    @Length(max = 20, message = "是否重复抵质押长度最多20位")
    @Column(name = "IS_REPEATED_MORTGAGE")
    private String isRepeatedMortgage;

    @ApiModelProperty("是否超过阀值")
    @Length(max = 20, message = "是否超过阀值长度最多20位")
    @Column(name = "IS_OVERBALANCE")
    private String isOverbalance;

    @ApiModelProperty("最终认定押品价值有效到期日")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    @Column(name = "CONF_MATURE_DT")
    private Date confMatureDt;

    @ApiModelProperty("评估报告编制水平")
    @Length(max = 20, message = "评估报告编制水平长度最多20位")
    @Column(name = "EVAL_REPORT_COMPILE_LVL")
    private String evalReportCompileLvl;

    @ApiModelProperty("评估时效性")
    @Length(max = 20, message = "评估时效性长度最多20位")
    @Column(name = "EVAL_TIMELINESS")
    private String evalTimeliness;

    @ApiModelProperty("是否存在特殊情况无需抽签")
    @Length(max = 20, message = "是否存在特殊情况无需抽签长度最多20位")
    @Column(name = "DROWLOTS_SPECIAL_CASE_FLG")
    private String drowlotsSpecialCaseFlg;

    @ApiModelProperty("外评机构名称")
    @Length(max = 100, message = "外评机构名称长度最多100位")
    @Column(name = "EXTER_EVAL_ORG_NM")
    private String exterEvalOrgNm;

    @ApiModelProperty("预计评估价值（人民币）")
    @Digits(integer = 18, fraction = 2, message = "预计评估价值（人民币）不能超过20位")
    @Column(name = "PRE_EVAL_AMT_CNY")
    private BigDecimal preEvalAmtCny;

    @ApiModelProperty("外部评估价值（人民币）")
    @Digits(integer = 18, fraction = 2, message = "外部评估价值（人民币）不能超过20位")
    @Column(name = "EXTER_EVAL_VAL_CNY")
    private BigDecimal exterEvalValCny;

    @ApiModelProperty("评估收费是否合理")
    @Length(max = 20, message = "评估收费是否合理长度最多20位")
    @Column(name = "CHARGE_REASONABLE_FLG")
    private String chargeReasonableFlg;

    @ApiModelProperty("内评评估价值（人民币）")
    @Digits(integer = 18, fraction = 2, message = "内评评估价值（人民币）不能超过20位")
    @Column(name = "INNER_EVAL_VAL_CNY")
    private BigDecimal innerEvalValCny;

    public String getEvalProDetailsId(){
        return evalProDetailsId;
    }

    public void setEvalProDetailsId(String evalProDetailsId){
        this.evalProDetailsId = evalProDetailsId;
    }
    public String getEvalProcessId(){
        return evalProcessId;
    }

    public void setEvalProcessId(String evalProcessId){
        this.evalProcessId = evalProcessId;
    }
    public String getEvalProcessNo(){
        return evalProcessNo;
    }

    public void setEvalProcessNo(String evalProcessNo){
        this.evalProcessNo = evalProcessNo;
    }
    public String getCltNo(){
        return cltNo;
    }

    public void setCltNo(String cltNo){
        this.cltNo = cltNo;
    }
    public String getCltTpCd(){
        return cltTpCd;
    }

    public void setCltTpCd(String cltTpCd){
        this.cltTpCd = cltTpCd;
    }
    public String getExterEvalOrgNo(){
        return exterEvalOrgNo;
    }

    public void setExterEvalOrgNo(String exterEvalOrgNo){
        this.exterEvalOrgNo = exterEvalOrgNo;
    }
    public String getExterEvalMtdCd(){
        return exterEvalMtdCd;
    }

    public void setExterEvalMtdCd(String exterEvalMtdCd){
        this.exterEvalMtdCd = exterEvalMtdCd;
    }
    public BigDecimal getExterEvalVal(){
        return exterEvalVal;
    }

    public void setExterEvalVal(BigDecimal exterEvalVal){
        this.exterEvalVal = exterEvalVal;
    }
    public String getExterCcyCd(){
        return exterCcyCd;
    }

    public void setExterCcyCd(String exterCcyCd){
        this.exterCcyCd = exterCcyCd;
    }
    public Date getExterEvalDt(){
        return exterEvalDt;
    }

    public void setExterEvalDt(Date exterEvalDt){
        this.exterEvalDt = exterEvalDt;
    }
    public Date getExterEvalMatDt(){
        return exterEvalMatDt;
    }

    public void setExterEvalMatDt(Date exterEvalMatDt){
        this.exterEvalMatDt = exterEvalMatDt;
    }
    public BigDecimal getDailyEvalScore(){
        return dailyEvalScore;
    }

    public void setDailyEvalScore(BigDecimal dailyEvalScore){
        this.dailyEvalScore = dailyEvalScore;
    }
    public String getDailyEvalAdv(){
        return dailyEvalAdv;
    }

    public void setDailyEvalAdv(String dailyEvalAdv){
        this.dailyEvalAdv = dailyEvalAdv;
    }
    public String getInnerEvalMtdCd(){
        return innerEvalMtdCd;
    }

    public void setInnerEvalMtdCd(String innerEvalMtdCd){
        this.innerEvalMtdCd = innerEvalMtdCd;
    }
    public BigDecimal getInnerEvalVal(){
        return innerEvalVal;
    }

    public void setInnerEvalVal(BigDecimal innerEvalVal){
        this.innerEvalVal = innerEvalVal;
    }
    public String getInnerCcyCd(){
        return innerCcyCd;
    }

    public void setInnerCcyCd(String innerCcyCd){
        this.innerCcyCd = innerCcyCd;
    }
    public Date getInnerEvalDt(){
        return innerEvalDt;
    }

    public void setInnerEvalDt(Date innerEvalDt){
        this.innerEvalDt = innerEvalDt;
    }
    public Date getInnerEvalEndDt(){
        return innerEvalEndDt;
    }

    public void setInnerEvalEndDt(Date innerEvalEndDt){
        this.innerEvalEndDt = innerEvalEndDt;
    }
    public String getEvalTpCd(){
        return evalTpCd;
    }

    public void setEvalTpCd(String evalTpCd){
        this.evalTpCd = evalTpCd;
    }
    public BigDecimal getAssessedVal(){
        return assessedVal;
    }

    public void setAssessedVal(BigDecimal assessedVal){
        this.assessedVal = assessedVal;
    }
    public String getAssessedCcyCd(){
        return assessedCcyCd;
    }

    public void setAssessedCcyCd(String assessedCcyCd){
        this.assessedCcyCd = assessedCcyCd;
    }
    public String getAssessedEvalMtdCd(){
        return assessedEvalMtdCd;
    }

    public void setAssessedEvalMtdCd(String assessedEvalMtdCd){
        this.assessedEvalMtdCd = assessedEvalMtdCd;
    }
    public Date getAssessedDt(){
        return assessedDt;
    }

    public void setAssessedDt(Date assessedDt){
        this.assessedDt = assessedDt;
    }
    public Date getSysCreateTime(){
        return sysCreateTime;
    }

    public void setSysCreateTime(Date sysCreateTime){
        this.sysCreateTime = sysCreateTime;
    }
    public Date getSysUpdateTime(){
        return sysUpdateTime;
    }

    public void setSysUpdateTime(Date sysUpdateTime){
        this.sysUpdateTime = sysUpdateTime;
    }
    public String getIsFirstEval(){
        return isFirstEval;
    }

    public void setIsFirstEval(String isFirstEval){
        this.isFirstEval = isFirstEval;
    }
    public BigDecimal getPreEvalAmt(){
        return preEvalAmt;
    }

    public void setPreEvalAmt(BigDecimal preEvalAmt){
        this.preEvalAmt = preEvalAmt;
    }
    public String getAmtConfReason(){
        return amtConfReason;
    }

    public void setAmtConfReason(String amtConfReason){
        this.amtConfReason = amtConfReason;
    }
    public String getIsRepeatedMortgage(){
        return isRepeatedMortgage;
    }

    public void setIsRepeatedMortgage(String isRepeatedMortgage){
        this.isRepeatedMortgage = isRepeatedMortgage;
    }
    public String getIsOverbalance(){
        return isOverbalance;
    }

    public void setIsOverbalance(String isOverbalance){
        this.isOverbalance = isOverbalance;
    }
    public Date getConfMatureDt(){
        return confMatureDt;
    }

    public void setConfMatureDt(Date confMatureDt){
        this.confMatureDt = confMatureDt;
    }
    public String getEvalReportCompileLvl(){
        return evalReportCompileLvl;
    }

    public void setEvalReportCompileLvl(String evalReportCompileLvl){
        this.evalReportCompileLvl = evalReportCompileLvl;
    }
    public String getEvalTimeliness(){
        return evalTimeliness;
    }

    public void setEvalTimeliness(String evalTimeliness){
        this.evalTimeliness = evalTimeliness;
    }
    public String getDrowlotsSpecialCaseFlg(){
        return drowlotsSpecialCaseFlg;
    }

    public void setDrowlotsSpecialCaseFlg(String drowlotsSpecialCaseFlg){
        this.drowlotsSpecialCaseFlg = drowlotsSpecialCaseFlg;
    }
    public String getExterEvalOrgNm(){
        return exterEvalOrgNm;
    }

    public void setExterEvalOrgNm(String exterEvalOrgNm){
        this.exterEvalOrgNm = exterEvalOrgNm;
    }
    public BigDecimal getPreEvalAmtCny(){
        return preEvalAmtCny;
    }

    public void setPreEvalAmtCny(BigDecimal preEvalAmtCny){
        this.preEvalAmtCny = preEvalAmtCny;
    }
    public BigDecimal getExterEvalValCny(){
        return exterEvalValCny;
    }

    public void setExterEvalValCny(BigDecimal exterEvalValCny){
        this.exterEvalValCny = exterEvalValCny;
    }
    public String getChargeReasonableFlg(){
        return chargeReasonableFlg;
    }

    public void setChargeReasonableFlg(String chargeReasonableFlg){
        this.chargeReasonableFlg = chargeReasonableFlg;
    }
    public BigDecimal getInnerEvalValCny(){
        return innerEvalValCny;
    }

    public void setInnerEvalValCny(BigDecimal innerEvalValCny){
        this.innerEvalValCny = innerEvalValCny;
    }
}

